<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>

</html>
<script>
    //一.自定义的对象 - Object类创建自定义的对象。
    //对象是属性的无序集合，每个属性都是一个键/值对。
    //对象是由属性和方法(是否属性的值是函数)组成的。

    //1.利用构造函数创建自定义的对象。
    // var zhangsan = new Object(); //zhangsan:自定义的对象   Object:构造函数(类)
    // zhangsan.age = 100; //自定义的属性
    // zhangsan.sex = '男'; //自定义的属性
    // zhangsan.say = function() { //自定义的属性
    //     return '我的年龄是' + zhangsan.age + '我是' + zhangsan.sex + '的';
    // }

    // console.log(zhangsan.age); //调用属性
    // console.log(zhangsan.sex); //调用属性
    // console.log(zhangsan.say); //调用属性
    // console.log(zhangsan.say()); //方法

    //2.字面量创建自定义对象
    // var zhangsan = {
    //     age: 12500,
    //     sex: '女',
    //     say: function() {
    //         return '我的年龄是' + zhangsan.age + '我是' + zhangsan.sex + '的';
    //     }
    // };

    // console.log(zhangsan.age); //调用属性
    // console.log(zhangsan.sex); //调用属性
    // console.log(zhangsan.say); //调用属性
    // console.log(zhangsan.say()); //方法

    // var news = {
    //     title: '泥泞中走来的特殊客人，脱贫以后还要致富',
    //     content: '2013年11月3日，习近平总书记在湖南湘西十八洞村考察时首次提出“精准扶贫”。七年后的今天，十八洞村早已从偏僻落后的苗寨蜕变为远近闻名的精准脱贫样板村，而“精准扶贫”也成为中国打赢脱贫攻坚战的决胜方略。央视网《天天学习》栏目推出“精准扶贫下的蝶变”系列，展现“精准扶贫”方略引领下的乡村蝶变。',
    //     date: '2020-11-3',
    //     author: 'zhangsan'
    // };

    //重要：对象的属性是自定义的，一定是字符串，系统会调用一个方法toString()将对象的属性转换成字符串。但是定义对象属性时可写可不写引号，自动转换。

    //二.自定义的操作
    //1.通过点操作符获取对象属性的值 - 点操作符后面只能跟字符串。 
    // console.log(news.date);
    // console.log(news.title);
    //2.通过中括号获取对象属性的值 - 中括号里面可以放字符串和变量。(对象的属性也是变量)
    // console.log(news['date']);
    // console.log(news['title']);
    // var s = 'score';
    // var zhangsan = {
    //     s: 50, //这里的s和上面的变量没有任何关系，这里的s仅仅是属性名
    //     [s]: 80 //score:80 这里的s就是上面的变量，中括号里面才可以放变量。
    // }

    // console.log(zhangsan.s); //50
    // console.log(zhangsan[s]); //80  变量
    // console.log(zhangsan['score']); //80  字符串

    //3.给对象添加属性，修改对象的属性。
    // var obj = {
    //     a: 1
    // }
    // obj.b = 2;
    // obj['c'] = 3;
    // obj.c = 4; //后面覆盖前面的
    // console.log(typeof obj); //object
    // console.log(obj); //{a: 1, b: 2, c: 4}


    //4.数组和自定义对象的值和结构
    // alert:输出对象的值和数组的值
    // console.log输出对象和数组的结构
    // var obj1 = {
    //     a: 1
    // };
    // var obj2 = {
    //     b: 2
    // };

    // alert(obj1) //[object Object]  所有对象的值都是[object Object]
    // alert(obj2) //[object Object]  所有对象的值都是[object Object]

    // console.log(obj1); //{a: 1}
    // console.log(obj2); //{b: 2}

    // var arr1 = [1, 2, 3];
    // var arr2 = [4, 5, 6];

    // alert(arr1); //1, 2, 3
    // alert(arr2); //4, 5, 6
    // console.log(arr1);//[1, 2, 3]
    // console.log(arr2);//[4, 5, 6]
</script>